<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>components</title>
	<script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>	
<body>
	<div id="example">
	  	<div>
		  <input tabindex="1" v-model="parentMsg">
		  <br>
		  <child v-bind:my-message="parentMsg"></child>
		</div>
	</div>

	<div id="example1">
		<component v-bind:is="currentView">
		  <!-- 组件在 vm.currentview 变化时改变！ -->
		</component>
	</div>

	<script type="text/javascript">
		// 注册
		Vue.component('child', {
		  // 声明 props
		  props: {
		  	myMessage:{
		  		type:String,
		  		default:100
		  	}
		  },
		  // 就像 data 一样，prop 可以用在模板内
		  // 同样也可以在 vm 实例中像 “this.message” 这样使用
		  template: '<span>{{ myMessage }}</span>'
		})

		var Home = {
		  template: '<p>Welcome home!</p>'
		}

		// 创建根实例
		new Vue({
		  el: '#example',
		  data(){
		  	return {
		  		parentMsg:'xxx'
		  	}
		  }
		});

		var vm = new Vue({
		  el: '#example1',
		  data: {
		    currentView: Home
		  }
		})
	</script>
</body>
</html>